/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.cobranza.util;

import com.brain.core.dto.ComboDto;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author LENOVO01
 */
public class UtilCobranza {

    public static List<ComboDto> listaTiposArchivos() {
        List<ComboDto> l = new ArrayList<ComboDto>();
        l.add(new ComboDto("C", "CLIENTES"));
        l.add(new ComboDto("P", "PAGOS"));
        return l;
    }
    
    public static List<ComboDto> listaTiposDatos() {
        List<ComboDto> l = new ArrayList<ComboDto>();
        l.add(new ComboDto("V", "CADENA"));
        l.add(new ComboDto("D", "FECHA"));
        l.add(new ComboDto("N", "DECIMAL"));
        l.add(new ComboDto("E", "ENTERO"));
        return l;
    }

    public static List<ComboDto> listaEstadosCarga() {
        List<ComboDto> l = new ArrayList<ComboDto>();
        l.add(new ComboDto("A", "ACTIVA"));
        l.add(new ComboDto("C", "CERRADA"));
        l.add(new ComboDto("N", "ANULADA"));
        return l;
    }
    
    private static String obtenerDesripcion(List<ComboDto> listaCombo, String clave) {
        if (listaCombo != null && clave != null) {
            for (ComboDto comboDto : listaCombo) {
                if (comboDto.getCodigo().equalsIgnoreCase(clave)) {
                    return comboDto.getDescripcion();
                }
            }
            return "";
        }
        return "";
    }
    
    public static String descripcionTipoDato(String clave) {
        return obtenerDesripcion(listaTiposDatos(), clave);
    }
    
    public static String descripcionTipoArchivo(String clave) {
        return obtenerDesripcion(listaTiposArchivos(), clave);
    }
    
    public static String descripcionEstadoCarga(String clave) {
        return obtenerDesripcion(listaEstadosCarga(), clave);
    }
    
    public static String descripcionActivo (Boolean estado) {
        if (estado) {
            return "ACTIVO";
        }else {
            return "INACTIVO";
        }
    }
    
    public static String descripcionRequerido (Boolean estado) {
        if (estado) {
            return "REQUERIDO";
        }else {
            return "NO REQUERIDO";
        }
    }

    private static SelectItem[] convertListComboToSelectItem(List<ComboDto> l) {
        SelectItem[] si = new SelectItem[l.size()];
        for (int i=0; i<l.size(); i++) {
            si[i] = new SelectItem(l.get(i).getCodigo(), l.get(i).getDescripcion());
        }
        return si;
    }
    
    public static SelectItem[] siTiposArchivos () {
        return convertListComboToSelectItem(listaTiposArchivos());
    }
    
    public static SelectItem[] siTiposDatos () {
        return convertListComboToSelectItem(listaTiposDatos());
    }
    
    public static class CatalogoParametro {
        public static final Long ESTADO_DEUDA = 415L;
    }
    
}
